$(function () {
    $("#title").text('编辑产品');
    productTagInit();//产品标签
    productUpdateInfoInit();

    $('form select').selectpicker({
        noneSelectedText: '请选择',
        sanitize: true,
        size: 10
    });
});

//产品标签
function productTagInit() {
    $("#productTagBox").html('');
    $("#productTagBox").append('<input type="text" name="staticPath" value="" id="staticPath2"/>');
    WS({
        el: "#staticPath2"
    });
}

/**
 *根据产品ID查询产品编辑信息(产品ID从产品列表传过来)
 */
function productUpdateInfoInit() {
    var customerProductId = $("#customerProductId").val();
    $.ajax({
        url: "/customerProduct/selectCustomerProductUpdateInfo",
        async: false,
        type: "post",
        dataType: "json",
        data: {
            customerProductId: customerProductId//产品ID
        },
        success: function (data) {
            if (data.code == '000000') {
                var result = data.data;
                // $("#productCategoriesSelect option[value='" + result.productCategories + "']").attr("selected", "selected");//产品分类
                $("#productName").val(result.productName);//产品名称
                $("#productNameHidden").val(result.productName);//产品名称
                $("#productCode").val(result.productCode);//产品编码
                $("#productCodeHidden").val(result.productCode);//产品编码
                $("#serviceClassification").val(result.serviceClassification);//服务分类
                $("#productOriginalPrice").val(result.productOriginalPrice);//产品原价
                $("#productUnitPrice").val(result.productUnitPrice);//产品单价
                $("#performanceConversionRatio").val(result.performanceConversionRatio);//业绩换算比例
                $("#productMemberPrice").val(result.productMemberPrice);//产品会员价
                $("#topicId").val(result.topicId);//专题ID
                $("#topicIdHidden").val(result.topicId);//专题ID
                $("#studyPeriod").val(result.studyPeriod);//学习期数
                $.ajax({
                    type: 'get',
                    url: '/dictionary/selectDictionaryByTypeCode',
                    data: {
                        typeCode: 14 //字典大分类
                    },
                    async: false,
                    success: function (data) {
                        let exchangeMethodList = data.data;
                        let exchangeMethodOptionStr = "";
                        for (let index in exchangeMethodList) {
                            let jsonObj = exchangeMethodList[index];
                            exchangeMethodOptionStr += "<option value=\"" + jsonObj.dictCode + "\">" + jsonObj.dictName + "</option>";
                            $("#exchangeMethodSelect").html("<option value=''>请选择</option>" + exchangeMethodOptionStr);
                        }

                        $("#exchangeMethodSelect option[value='" + result.exchangeMethod + "']").attr("selected", "selected");
                        // 刷新下拉框
                        $("#exchangeMethodSelect").selectpicker('refresh');
                    }
                });
                /*$("#membershipCardLevel").val(result.membershipCardLevel);//会员卡级别
                $.ajax({
                    type: 'get',
                    url: '/dictionary/selectDictionaryByTypeCode',
                    data: {
                        typeCode: 13 //字典大分类
                    },
                    async: false,
                    success: function (data) {
                        let membershipCardTypeList = data.data;
                        let membershipCardTypeOptionStr = "";
                        for (let index in membershipCardTypeList) {
                            let jsonObj = membershipCardTypeList[index];
                            membershipCardTypeOptionStr += "<option value=\"" + jsonObj.dictCode + "\">" + jsonObj.dictName + "</option>";
                            $("#membershipCardTypeSelect").html("<option value=''>请选择</option>" + membershipCardTypeOptionStr);
                        }
                        $("#membershipCardTypeSelect option[value='" + result.membershipCardType + "']").attr("selected", "selected");
                        // 刷新下拉框
                        $("#membershipCardTypeSelect").selectpicker('refresh');
                    }
                });
                $("#productPeriodValidity").val(result.productPeriodValidity);//产品有效期*/
                $("#productTagBox").html('');
                $("#productTagBox").append('<input type="text" name="staticPath" value="" id="staticPath2"/>');
                $("#staticPath2").val('');
                $("#staticPath2").val(result.productTag);//产品标签
                WS({
                    el: "#staticPath2",
                });
                $("#productDesc").val(result.productDesc);//产品描述
                // $("#productManual").val(result.productManual);//产品说明
            }
        }
    })
}

// 新增会员发卡类型弹出窗
function showAddType() {
    $("#addMemberShipCardModel").modal("show");
}

//提交动态添加产品--会员发卡类型
function addMemberShipCardType() {
    $("#membershipCardTypeSelect").append('<option>' + $("#memberShipCard").val() + '</option>');
    var dictName = $("#memberShipCard").val();
    addDictionary(13, dictName, '产品--会员发卡类型');

    $("#addMemberShipCardModel").modal("hide");
    // 新增会员发卡类型之后默认选中新增的会员发卡类型
    $("#membershipCardTypeSelect option:last").prop('selected', true);
    // 刷新select控件
    $("#membershipCardTypeSelect").selectpicker('refresh');
}


// 新增兑换方式弹出框
function showAddChange() {
    $("#addExchangeMethodModel").modal("show");
}

//提交动态添加产品--兑换方式
function addExchangeMethod() {
    $("#exchangeMethodSelect").append('<option>' + $("#exchangeMethod").val() + '</option>');
    var dictName = $("#exchangeMethod").val();
    addDictionary(14, dictName, '产品--兑换方式');

    $("#addExchangeMethodModel").modal("hide");
    // 新增兑换方式之后默认选中新增的兑换方式
    $("#exchangeMethodSelect option:last").prop('selected', true);
    // 刷新select控件
    $("#exchangeMethodSelect").selectpicker('refresh');
}


var isRepeatProductNameFlag;//产品名称是否存在标识
var isRepeatProductCodeFlag;//产品编码是否存在标识
var isRepeatTopicIdFlag;//专题ID是否存在标识


/**
 * 校验产品名称是否存在
 */
function checkIsRepeatProductName() {
    var productName = $("#productName").val();//产品名称
    var productNameHidden = $("#productNameHidden").val();//产品名称
    if (productName == productNameHidden){
        return;
    }
    $.ajax({
        type: "post",
        url: "/customerProduct/isRepeatProductName",
        data: {
            productName: productName
        },
        dataType: 'json',
        async: false,
        success: function (data, status) {
            if (data.code == '000000') {
                isRepeatProductNameFlag = false;
            } else if (data.code == 'PC0010') {
                isRepeatProductNameFlag = true;
                $.alert(data.message);
            }
        },
        error: function () {
            $.alert("操作失败,请稍后再试!");
            isRepeatProductNameFlag = true;
        }
    });
}


/**
 * 校验产品编码是否存在
 */
function checkIsRepeatProductCode() {
    var productCode = $("#productCode").val();//产品编码
    var productCodeHidden = $("#productCodeHidden").val();//产品编码
    if (productCode == productCodeHidden){
        return;
    }
    $.ajax({
        type: "post",
        url: "/customerProduct/isRepeatProductCode",
        data: {
            productCode: productCode
        },
        dataType: 'json',
        async: false,
        success: function (data, status) {
            if (data.code == '000000') {
                isRepeatProductCodeFlag = false;
            } else if (data.code == 'PC0011') {
                isRepeatProductCodeFlag = true;
                $.alert(data.message);
            }
        },
        error: function () {
            $.alert("操作失败,请稍后再试!");
            isRepeatProductCodeFlag = true;
        }
    });
}


/**
 * 校验专题ID是否存在
 */
function checkIsRepeatTopicId() {
    var topicId = $("#topicId").val();//专题ID
    var topicIdHidden = $("#topicIdHidden").val();
    if (topicId == topicIdHidden){
        return;
    }
    $.ajax({
        type: "post",
        url: "/customerProduct/isRepeatTopicId",
        data: {
            topicId: topicId
        },
        dataType: 'json',
        async: false,
        success: function (data, status) {
            if (data.code == '000000') {
                isRepeatTopicIdFlag = false;
            } else if (data.code == 'PC0012') {
                isRepeatTopicIdFlag = true;
                $.alert(data.message);
            }
        },
        error: function () {
            $.alert("操作失败,请稍后再试!");
            isRepeatTopicIdFlag = true;
        }
    });
}


/**
 * 编辑产品
 *
 *
 *
 */
function updateCustomerProduct() {

    if (isRepeatProductNameFlag) {
        $.alert("产品名称已存在");
        return;
    }
    if (isRepeatProductCodeFlag) {
        $.alert("产品编码已存在");
        return;
    }

    if (isRepeatTopicIdFlag) {
        $.alert("专题ID已存在");
        return;
    }

    if (!isRepeatProductCodeFlag && !isRepeatProductNameFlag && !isRepeatTopicIdFlag) {//产品名称、产品编码、专题ID不存在
        /*var productCode = $("#productCode").val();//产品编码
        if (!productCode) {
            promptInfo("产品编码不能为空!");
            return;
        }*/
        // var productCategories = $('#productCategoriesSelect option:selected').val();//产品分类
        var productName = $("#productName").val();//产品名称
        if (!productName) {
            promptInfo("产品名称不能为空!");
            return;
        }
        var serviceClassification = $("#serviceClassification").val();//服务分类
        var tagStr = $('.fm-button').text().split(' ').join(',');
        var productTag = tagStr.substring(0, tagStr.lastIndexOf(',')) + tagStr.substring(tagStr.lastIndexOf(',') + 1);//产品标签
        var productOriginalPrice = $("#productOriginalPrice").val();//产品原价
        var productUnitPrice = $("#productUnitPrice").val();//产品单价
        if (!productUnitPrice) {
            promptInfo("产品单价不能为空!");
            return;
        }
        var performanceConversionRatio = $("#performanceConversionRatio").val();//业绩换算比例
        if (!performanceConversionRatio) {
            promptInfo("业绩换算比例不能为空!");
            return;
        }

        var customerProductId = $("#customerProductId").val();//产品id
        var productMemberPrice = $("#productMemberPrice").val();//产品会员价
        var productPreferentialPrice = $("#productPreferentialPrice").val();//产品优惠价
        var productActivePrice = $("#productActivePrice").val();//产品活动价
        var performanceAmount = $("#performanceAmount").val();//业绩金额
        var topicId = $("#topicId").val();//专题ID
        var studyPeriod = $("#studyPeriod").val();//学习期数
        var exchangeMethod = $('#exchangeMethodSelect option:selected').val();//兑换方式
        // var membershipCardLevel = $("#membershipCardLevel").val();//会员卡级别
        // var membershipCardType = $('#membershipCardTypeSelect option:selected').val();//会员卡类型
        var sceneAttend = $("#sceneAttend").val();//现场参会
        var productDesc = $("#productDesc").val();//产品描述
        // var productManual = $("#productManual").val();//产品说明
        // var productPeriodValidity = $("#productPeriodValidity").val();//产品有效期

        //编辑产品JSON数据
        var productJsonData = {
            "customerProductId": customerProductId,//主键
            // "productCategories": productCategories,//产品分类
            "productName": productName,//产品名称
            // "productCode": productCode,//产品编码
            "serviceClassification": serviceClassification,//服务分类
            "productTag": productTag,//产品标签
            "productOriginalPrice": productOriginalPrice,//产品原价
            "productUnitPrice": productUnitPrice,//产品单价
            "performanceConversionRatio": performanceConversionRatio,//业绩换算比例
            "productMemberPrice": productMemberPrice,//产品会员价
            "performanceAmount": performanceAmount,//业绩余额
            "topicId": topicId,//专题ID
            "studyPeriod": studyPeriod,//学习期数
            "exchangeMethod": exchangeMethod,//兑换方式
            // "membershipCardLevel": membershipCardLevel,//会员卡级别
            // "membershipCardType": membershipCardType,//会员卡类型
            "sceneAttend": sceneAttend,//现场参会
            "productDesc": productDesc,//产品描述
            // "productManual": productManual,//产品说明
            // "productPeriodValidity": productPeriodValidity//产品有效期
        };

       //编辑产品调用后端接口
        $.ajax({
            url: '/customerProduct/updateCustomerProduct',
            type: 'POST',
            dataType: "json",
            contentType: "application/json;charset=utf-8",
            data: JSON.stringify(productJsonData),
            success: (function (data) {
                if(data.code == "000000") {
                    $.alert("保存成功！");
                    var $thisTabs = parent.$('.mt-nav-bar .nav-tabs').find('li.active');
                    var navTab = parent.$multitabs._getNavTab($thisTabs);
                    closeTab(navTab);

                    openTab("产品列表","/front/productManager/productForm?tag=1");
                    refreshActivePane("/front/productManager/productForm?tag=1");
                    delStorageAndRemove(navTab);
                }
            }),
            error: (function (res) {
                $.alert("保存失败！");
            })
        });
    }

}


/**
 * 提交
 * @param typeCode
 * @param dictName
 * @param dictDesc
 */
function addDictionary(typeCode, dictName, dictDesc) {
    $.ajax({
        type: "post",
        url: "/dictionary/addDictionary",
        data: {
            typeCode: typeCode,
            dictName: dictName,
            dictDesc: dictDesc
        },
        dataType: 'json',
        success: function (data, status) {
            if (data.code == '000000') {
                $.alert("操作成功");
            }
        },
        error: function () {
            $.alert("操作失败,请稍后再试!");
        }
    });
}

/**
 * 消息提示弹出框
 * @param content  ---提示内容
 */
function promptInfo(content) {
    $.alert({
        title: '温馨提示',
        content: content,
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary'
            }
        }
    });
}


/**
 * 编辑产品表单重置功能
 */
function formReset() {
    $('form')[0].reset();
    $('form').find('select').selectpicker('refresh');
    $('#staticPath2').val('');
    $('.words-split').html('')
}